home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / ARMLINUX / MAIL / 9805 / 000080_owner-linux-arm…r.rutgers.edu _Mon May 18 17:53:54 1998.msg < prev    next >
Internet Message Format  |  1998-06-02  |  6KB

  1. Return-Path: <owner-linux-arm-outgoing@vger.rutgers.edu>
  2. Received: from virtual.bbc.co.uk (virtual.bbc.co.uk [132.185.132.199])
  3.     by odie.barnet.ac.uk (8.8.6/8.8.6) with ESMTP id RAA10141
  4.     for <willy@odie.barnet.ac.uk>; Mon, 18 May 1998 17:53:52 +0100
  5. Received: from nic.funet.fi (nic.funet.fi [128.214.248.6])
  6.     by virtual.bbc.co.uk (8.8.5/8.8.5) with ESMTP id RAA11656
  7.     for <willy@bofh.ai>; Mon, 18 May 1998 17:53:55 +0100 (BST)
  8. Received: from vger.rutgers.edu ([128.6.190.2]:39698 "EHLO vger.rutgers.edu" ident: "root") by nic.funet.fi with ESMTP id <2769-14987>; Mon, 18 May 1998 19:53:40 +0300
  9. Received: by vger.rutgers.edu id <970990-231>; Mon, 18 May 1998 12:52:58 -0400
  10. Received: from gatekeeper.prl.philips.co.uk ([193.129.162.20]:3904 "EHLO gatekeeper.prl.philips.co.uk" ident: "SOCKWRITE-65") by vger.rutgers.edu with ESMTP id <974082-231>; Mon, 18 May 1998 12:52:45 -0400
  11. Received: by gatekeeper.prl.philips.co.uk; id SAA19510; Mon, 18 May 1998 18:52:20 +0100 (BST)
  12. Received: from prlhp1.prl.research.philips.com(130.141.10.82) by gatekeeper.prl.philips.co.uk via smap (V3.1.1)
  13.     id xma019481; Mon, 18 May 98 18:51:54 +0100
  14. Received: from prsun11 by prlhp1.prl.research.philips.com; Mon, 18 May 1998 17:55:49 +0100
  15. Received: from marketto.demon.co.uk (herrena [130.141.143.176])
  16.     by prl.research.philips.com (8.8.7/prsun11) with ESMTP id RAA23625
  17.     for <linux-arm@vger.rutgers.edu>; Mon, 18 May 1998 17:52:37 +0100 (BST)
  18. Message-Id: <3560673A.AD5BE0CE@marketto.demon.co.uk>
  19. Date:     Mon, 18 May 1998 17:52:10 +0100
  20. From: Theo Markettos <theo@marketto.demon.co.uk>
  21. X-Mailer: Mozilla 4.03 [en] (Win95; I)
  22. Mime-Version: 1.0
  23. To: linux-arm@vger.rutgers.edu
  24. Subject: Re: PowerROMmed cards
  25. Content-Type: text/plain; charset=us-ascii
  26. Content-Transfer-Encoding: 7bit
  27. X-Orcpt: rfc822;linux-arm@vger.rutgers.edu
  28. Sender: owner-linux-arm@vger.rutgers.edu
  29. Precedence: bulk
  30. X-Loop: majordomo@vger.rutgers.edu
  31. Status: RO
  32.  
  33. >  This is the suggestion which was put to me:
  34. >  Each driver which supports a card that can be fitted with a PowerROM should
  35. >  check through the modules which are present on the card.  It should look
  36. >  for modules of the form `*TX'.  This is the only difference between the
  37. >  ROMs.  Apparently it would be prohibitively expensive to change the product
  38. >  ID for each style of card.
  39.  
  40. I don't think so.  What would be expensive is to change the ID
  41. _retrospectively_, on ROMs already out there or in stock.  I don't see why
  42. any future batches of ROMs that are ordered can't have the ID changed -
  43. getting a new ID is a simple as emailing the nice Mr Glover at Pineapple and
  44. asking for one. 
  45.  
  46. >  Here are the thoughts which occur to me:
  47. >  2. How easy is it to read the chunk directory from the podule?  I did it
  48. >     in a program called PodHacker once; I'll have to dig it out and see how
  49. >     to do it.  If I used RISC OS SWIs and it can't be (easily|at all) done
  50. >     under Linux then see suggestion 4.
  51.  
  52. The only possible problem is you need to know where the page latch was in the
  53. address space, or call the loader, which could be tricky.  To clarify what
  54. follows, the loader is a bit of ARM code stored in the first page of a podule
  55. ROM that allows access to the rest of the podule ROM using a page latch.  The
  56. page latch must be reset to allow the loader to be read out of ROM correctly
  57. without the help of RISC OS.
  58.  
  59. Read the following slowly...
  60.  
  61. On bootup, the hardware is reset, so the page latch contains zero, and
  62. therefore RISC OS can see the first page of ROM, which contains the loader. 
  63. If RISC OS has read data from ROM other than in the first page, the page
  64. latch may be pointing to another part of ROM, and without know where the page
  65. latch is, you can't reset it to find the loader.  In this case, you need to
  66. call the loader from RISC OS to access the loader code in ROM - you can't
  67. simply read the loader from RISC OS's copy of it, because there's no way of
  68. getting a pointer to this copy.
  69.  
  70. Therefore, you'd have to use Podule_ReadBytes (IIRC) to read out the loader
  71. (this uses the loader), make a copy of it, go into Linux, then call this
  72. loader to read out the rest of the ROM. The loader might call a few SWIs (if
  73. it is badly written - it doesn't have to), which could cause problems.
  74.  
  75. I don't know which mode Linux runs in, but there might possibly be problems
  76. running the 26-bit loader code on ARMs in 32-bit mode.
  77.  
  78. If you know the page latch address, you can effectively duplicate the loader
  79. in the Linux kernel.
  80. This address should be easily hackable out of the ROM loader code.  It would
  81. however be different for every type of podule, so you'd need a PowerROM for
  82. each of these cards to find it out.
  83.  
  84. Thinking about this, it might still be possible to read the ROM without
  85. calling the loader or knowing the page latch address.  IIRC a Ctrl-Break does
  86. not assert the /RESET line on the podule bus, so if this is the case, the
  87. page latch must always point to the first page of ROM, otherwise a Ctrl-Break
  88. would fail to identify the podules correctly because it sees the wrong page
  89. of ROM. This all depends on whether RISC OS scans the podules on Ctrl-Break,
  90. or just on reset.
  91.  
  92. Once you can read the whole ROM image, examining the modules isn't too
  93. difficult.  The ROM format is detailed in PRM vol 4, and it's merely a method
  94. of decoding this - it's not too tricky a task.
  95.  
  96. Apologies if this was confusing - using a loader to load the loader is not
  97. the easiest process to describe.  Mail me or to the list if you want more
  98. info.
  99.  
  100. Cheers,
  101. Theo
  102.  
  103. -- 
  104. Theo Markettos          Home:   theomarkettos@letterbox.com
  105. Liphook                 Work:   marketto@prl.research.philips.com
  106. Hampshire
  107. UK                      Web site, including Acorn backup software
  108.                         http://www.marketto.demon.co.uk/
  109. unsubscribe: body of `unsubscribe linux-arm' to majordomo@vger.rutgers.edu